11 research outputs found
First-Order Model-Checking in Random Graphs and Complex Networks
Complex networks are everywhere. They appear for example in the form of
biological networks, social networks, or computer networks and have been
studied extensively. Efficient algorithms to solve problems on complex networks
play a central role in today's society. Algorithmic meta-theorems show that
many problems can be solved efficiently. Since logic is a powerful tool to
model problems, it has been used to obtain very general meta-theorems. In this
work, we consider all problems definable in first-order logic and analyze which
properties of complex networks allow them to be solved efficiently.
The mathematical tool to describe complex networks are random graph models.
We define a property of random graph models called
-power-law-boundedness. Roughly speaking, a random graph is
-power-law-bounded if it does not admit strong clustering and its
degree sequence is bounded by a power-law distribution with exponent at least
(i.e. the fraction of vertices with degree is roughly
).
We solve the first-order model-checking problem (parameterized by the length
of the formula) in almost linear FPT time on random graph models satisfying
this property with . This means in particular that one can solve
every problem expressible in first-order logic in almost linear expected time
on these random graph models. This includes for example preferential attachment
graphs, Chung-Lu graphs, configuration graphs, and sparse Erd\H{o}s-R\'{e}nyi
graphs. Our results match known hardness results and generalize previous
tractability results on this topic
A practical fpt algorithm for Flow Decomposition and transcript assembly
The Flow Decomposition problem, which asks for the smallest set of weighted
paths that "covers" a flow on a DAG, has recently been used as an important
computational step in transcript assembly. We prove the problem is in FPT when
parameterized by the number of paths by giving a practical linear fpt
algorithm. Further, we implement and engineer a Flow Decomposition solver based
on this algorithm, and evaluate its performance on RNA-sequence data.
Crucially, our solver finds exact solutions while achieving runtimes
competitive with a state-of-the-art heuristic. Finally, we contextualize our
design choices with two hardness results related to preprocessing and weight
recovery. Specifically, -Flow Decomposition does not admit polynomial
kernels under standard complexity assumptions, and the related problem of
assigning (known) weights to a given set of paths is NP-hard.Comment: Introduces software package Toboggan: Version 1.0.
http://dx.doi.org/10.5281/zenodo.82163
The Complexity of Packing Edge-Disjoint Paths
We introduce and study the complexity of Path Packing. Given a graph G and a list of paths, the task is to embed the paths edge-disjoint in G. This generalizes the well known Hamiltonian-Path problem.
Since Hamiltonian Path is efficiently solvable for graphs of small treewidth, we study how this result translates to the much more general Path Packing. On the positive side, we give an FPT-algorithm on trees for the number of paths as parameter. Further, we give an XP-algorithm with the combined parameters maximal degree, number of connected components and number of nodes of degree at least three. Surprisingly the latter is an almost tight result by runtime and parameterization. We show an ETH lower bound almost matching our runtime. Moreover, if two of the three values are constant and one is unbounded the problem becomes NP-hard.
Further, we study restrictions to the given list of paths. On the positive side, we present an FPT-algorithm parameterized by the sum of the lengths of the paths. Packing paths of length two is polynomial time solvable, while packing paths of length three is NP-hard. Finally, even the spacial case Exact Path Packing where the paths have to cover every edge in G exactly once is already NP-hard for two paths on 4-regular graphs
Complexity of independency and cliquy trees
An independency (cliquy) tree of an -vertex graph is a spanning tree of in which the set of leaves induces an independent set (clique). We study the problems of minimizing or maximizing the number of leaves of such trees, and fully characterize their parameterized complexity. We show that all four variants of deciding if an independency/cliquy tree with at least/most leaves exists parameterized by are either - or -hard. We prove that minimizing the number of leaves of a cliquy tree parameterized by the number of internal vertices is -hard too. However, we show that minimizing the number of leaves of an independency tree parameterized by the number of internal vertices has an -time algorithm and a vertex kernel. Moreover, we prove that maximizing the number of leaves of an independency/cliquy tree parameterized by the number of internal vertices both have an -time algorithm and an vertex kernel, but no polynomial kernel unless the polynomial hierarchy collapses to the third level. Finally, we present an -time algorithm to find a spanning tree where the leaf set has a property that can be decided in time and has minimum or maximum size
Complexity of independency and cliquy trees
An independency (cliquy) tree of an -vertex graph is a spanning tree of in which the set of leaves induces an independent set (clique). We study the problems of minimizing or maximizing the number of leaves of such trees, and fully characterize their parameterized complexity. We show that all four variants of deciding if an independency/cliquy tree with at least/most leaves exists parameterized by are either - or -hard. We prove that minimizing the number of leaves of a cliquy tree parameterized by the number of internal vertices is -hard too. However, we show that minimizing the number of leaves of an independency tree parameterized by the number of internal vertices has an -time algorithm and a vertex kernel. Moreover, we prove that maximizing the number of leaves of an independency/cliquy tree parameterized by the number of internal vertices both have an -time algorithm and an vertex kernel, but no polynomial kernel unless the polynomial hierarchy collapses to the third level. Finally, we present an -time algorithm to find a spanning tree where the leaf set has a property that can be decided in time and has minimum or maximum size
Toboggan
<p>Initial release of Toboggan: a practical fpt algorithm for Flow Decomposition and transcript assembly.<br>
Toboggan is a Python software tool for efficiently computing optimal flow decompositions, intended for use in high-throughput settings. The scalability of the underlying algorithm comes from parameterizing the Flow Decomposition problem by the number of paths in the decomposition, which is quite small in many real-world instances.</p